package com.wx.io.netty.basic;

import io.netty.buffer.ByteBuf;
import io.netty.buffer.ByteBufAllocator;
import io.netty.buffer.PooledByteBufAllocator;
import io.netty.buffer.UnpooledByteBufAllocator;
import org.junit.jupiter.api.Test;

/**
 * netty 基础操作
 * @author wangxun
 * @version 1.0
 * @description: netty 基础操作
 * @date 2021/1/6 9:32 上午
 */
public class NettyBasic {
    /**
     * ByteBuf 基础
     */
    @Test
    public void ByteBufTest(){
        // 分配一个初始化 4096长度的 ByteBuf
        // io.netty.allocator.type 配置这个参数 -Dio.netty.allocator.type=unpool
        // 可以保证buf的分配是 pool 池化 还是非池化 unpool
        // 如果是安卓系统,那么默认使用unpool
        // 非安卓系统,默认使用 pool
        ByteBufAllocator aDefault = ByteBufAllocator.DEFAULT;
        if(aDefault instanceof UnpooledByteBufAllocator){
            System.out.println("非池化");
        }else if(aDefault instanceof PooledByteBufAllocator){
            System.out.println("池化");
        }

        ByteBuf buffer = aDefault.buffer(4096);
    }
}
